add_library(embeddingFunctor STATIC input_embedding.cu)
set_property(TARGET embeddingFunctor PROPERTY CUDA_SEPARABLE_COMPILATION   ON)
set_property(TARGET embeddingFunctor PROPERTY POSITION_INDEPENDENT_CODE  ON)
set_property(TARGET embeddingFunctor PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS  ON)

add_library(calc_paddingoffset STATIC calc_paddingoffset.cu)
set_property(TARGET calc_paddingoffset PROPERTY CUDA_SEPARABLE_COMPILATION   ON)
set_property(TARGET calc_paddingoffset PROPERTY POSITION_INDEPENDENT_CODE  ON)
set_property(TARGET calc_paddingoffset PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS  ON)

add_library(rmsnorm_kernel STATIC rmsnorm_kernel.cu)
set_property(TARGET rmsnorm_kernel PROPERTY CUDA_SEPARABLE_COMPILATION   ON)
set_property(TARGET rmsnorm_kernel PROPERTY POSITION_INDEPENDENT_CODE  ON)
set_property(TARGET rmsnorm_kernel PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS  ON)

add_library(build_casual_mask STATIC build_casual_mask.cu)
set_property(TARGET build_casual_mask PROPERTY CUDA_SEPARABLE_COMPILATION   ON)
set_property(TARGET build_casual_mask PROPERTY POSITION_INDEPENDENT_CODE  ON)
set_property(TARGET build_casual_mask PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS  ON)